define(function (require) {
var zsApp = require('app');    
zsApp.service('empSelectCache', ['$rootScope', '$http', 'promptCache', function($rootScope, $http, promptCache) {
    
    var choseArr=[],                                 // 将数组内的数据发送至服务器
        isSelectAll = false,                         // 默认未选中
        defScopesCodeArr = [];

    // 初始化
    this.init = function() {
        choseArr = [];
        isSelectAll = false;
    };

    // 默认选中的数据
    this.defScopesCodeArr = function(defScopesCode) {
        defScopesCodeArr = defScopesCode;
    };

    // 全选
    this.selectAll = function (scopesTypeVo, bool) { 

        console.log(scopesTypeVo);
        console.log(defScopesCodeArr);

        isSelectAll=bool?true:false;

        for( var i in scopesTypeVo ) {
            for( var j in defScopesCodeArr ) {
                if( scopesTypeVo[i] == defScopesCodeArr[j] ) {
                    defScopesCodeArr.splice(j,1);
                }
            }
        }

        choseArr = scopesTypeVo;
    };

    // 多选
    this.select = function (selectObj, bool) { 
        
        // 在全选的基础上操作
        if(isSelectAll&&bool==undefined) { 
            rmSame(choseArr, selectObj);
        }
        else if(bool) {
            choseArr.push(selectObj);
        }
        else if(bool==false) {
            rmSame(choseArr, selectObj);
        }

        if(bool == undefined) {
            rmSame(defScopesCodeArr, selectObj);
        }        
    };

    // 删除取消选中的复选框
    function rmSame(arr, val) {
        for(var i in arr) {
            if(arr[i]==val) {
                arr.splice(i,1);
            }
        }
    };

    // submit newlyAdded
    this.submitNewlyAdded = function (newlyAddedData, whichUrl) {

        newlyAddedData.scope = choseArr.toString();
        
        $http
        ({
            url     : $rootScope.zsUrl+'digitalhome-boss/'+whichUrl,
            method  : 'POST',
            data    : newlyAddedData,

        }).success(function(res) {
            if( res.result_code != '0000' ) {
                promptCache.errorPrompt('新增失败！');
                return false;
            }else {
                promptCache.successPrompt('新增成功！');
            }
        }).error(function(err) {
            promptCache.errorPrompt('新增失败！');
        });

        // 清空数组
        choseArr = [];
    };


    // submit edit
    this.submitEdit = function(editData, whichUrl) {

        for(var i in defScopesCodeArr) {
            choseArr.push(defScopesCodeArr[i]);
        }

        editData.scope = choseArr.toString();

        $http
        ({
            url     : $rootScope.zsUrl+'digitalhome-boss/'+whichUrl,
            method  : 'POST',
            data    : editData,

        }).success(function(res) {
            if( res.result_code != '0000' ) {
                promptCache.errorPrompt('修改失败！');
                return false;
            }else {
                promptCache.successPrompt('修改成功！');
            }
        }).error(function(err) {
            promptCache.errorPrompt('修改失败！');
        });

        // 清空数组
        choseArr = [];
    };

}]);
});























// 应用管理（校验是否有选择）
// this.check = function() {

//     // 没有选择一个的时候提示
//     if(choseArr[0]==''||choseArr.length==0) {            
//         promptCache.errorPrompt('请选择一个授权范围！');
//         return false;
//     }else {
//         return true;
//     }
// };